Issue with setRichClip for RTF table export

When I use the function setRichClip to copy a blank RTF table (a blank WORD table pasted into Object Text) to a WORD document, I get blanks of the size of the table! :(

The fonttable I use is "\\deff0{\\fonttbl {\\f1 Arial;}}" and the exact command code is setRichClip(BUFFER,"", fontTable,true,true).

The print results that I get are:
stringOf BUFFER =
{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Tahoma;}}
{\colortbl ;\red0\green0\blue0;}
\viewkind4\uc1\pard\cf1\b\f0\fs20\par
\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \clbrdrt\brdrw15\brdrs\clbrdrl\brdrw15\brdrs\clbrdrb\brdrw15\brdrs\clbrdrr\brdrw15\brdrs \cellx2520\clbrdrt\brdrw15\brdrs\clbrdrl\brdrw15\brdrs\clbrdrb\brdrw15\brdrs\clbrdrr\brdrw15\brdrs \cellx5130\clbrdrt\brdrw15\brdrs\clbrdrl\brdrw15\brdrs\clbrdrb\brdrw15\brdrs\clbrdrr\brdrw15\brdrs \cellx8550\pard\intbl\cell\cell\cell\row
\b0\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \clbrdrt\brdrw15\brdrs\clbrdrl\brdrw15\brdrs\clbrdrb\brdrw15\brdrs\clbrdrr\brdrw15\brdrs \cellx2520\clbrdrt\brdrw15\brdrs\clbrdrl\brdrw15\brdrs\clbrdrb\brdrw15\brdrs\clbrdrr\brdrw15\brdrs \cellx5130\clbrdrt\brdrw15\brdrs\clbrdrl\brdrw15\brdrs\clbrdrb\brdrw15\brdrs\clbrdrr\brdrw15\brdrs \cellx8550\intbl\cell\cell\cell\row
\pard\b\par
\cf0\b0\fs1660\par
}

and stringOf richClip=

{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Tahoma;}}
\viewkind4\uc1\pard\f0\fs1660\par
\b\tab\tab\tab\par
\b0\tab\tab\tab\par
\par
\par
}

I suspect the fontTable that I am using or there is a better alternative to setRichClip function.

Any thoughts out there, please?
SpaceApe - Fri Oct 30 10:07:19 EDT 2009

Re: Issue with setRichClip for RTF table export
SpaceApe - Mon Nov 09 00:50:40 EST 2009

Also, the built-in exporter doesn't export, from DOORS to WORD, the tables (originally created in RTF/WORD and then) pasted as Object Text.

Re: Issue with setRichClip for RTF table export
Mathias Mamsch - Tue Nov 10 03:35:56 EST 2009

Since it worked when I manually tried to copy/paste the text to word, I experimentet with setRichClip. The problem seems to be the stylesheet parameter of setRichClip. If you use "setRichClip (rtfString )" it seems to work:

So if you need to use another font table you might want to just replace the font table in the buffer using regexp.

Regards, Mathias

Buffer s = create
 
string fontTable = "\\deff0{\\fonttbl {\\f0\fnil\fcharset0 Arial;\\f1\fnil\fcharset0 Arial;}}"
 
s = "{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1033{\\fonttbl{\\f0\\fnil\\fcharset0 Tahoma;}}{\\colortbl ;\\red0\\green0\\blue0;}\\viewkind4\\uc1\\pard\\cf1\\b\\f0\\fs20\\par\\trowd\\trgaph108\\trleft-108\\trbrdrt\\brdrs\\brdrw10 \\trbrdrl\\brdrs\\brdrw10 \\trbrdrb\\brdrs\\brdrw10 \\trbrdrr\\brdrs\\brdrw10 \\clbrdrt\\brdrw15\\brdrs\\clbrdrl\\brdrw15\\brdrs\\clbrdrb\\brdrw15\\brdrs\\clbrdrr\\brdrw15\\brdrs \\cellx2520\\clbrdrt\\brdrw15\\brdrs\\clbrdrl\\brdrw15\\brdrs\\clbrdrb\\brdrw15\\brdrs\\clbrdrr\\brdrw15\\brdrs \\cellx5130\\clbrdrt\\brdrw15\\brdrs\\clbrdrl\\brdrw15\\brdrs\\clbrdrb\\brdrw15\\brdrs\\clbrdrr\\brdrw15\\brdrs \\cellx8550\\pard\\intbl\\cell\\cell\\cell\\row\\b0\\trowd\\trgaph108\\trleft-108\\trbrdrt\\brdrs\\brdrw10 \\trbrdrl\\brdrs\\brdrw10 \\trbrdrb\\brdrs\\brdrw10 \\trbrdrr\\brdrs\\brdrw10 \\clbrdrt\\brdrw15\\brdrs\\clbrdrl\\brdrw15\\brdrs\\clbrdrb\\brdrw15\\brdrs\\clbrdrr\\brdrw15\\brdrs \\cellx2520\\clbrdrt\\brdrw15\\brdrs\\clbrdrl\\brdrw15\\brdrs\\clbrdrb\\brdrw15\\brdrs\\clbrdrr\\brdrw15\\brdrs \\cellx5130\\clbrdrt\\brdrw15\\brdrs\\clbrdrl\\brdrw15\\brdrs\\clbrdrb\\brdrw15\\brdrs\\clbrdrr\\brdrw15\\brdrs \\cellx8550\\intbl\\cell\\cell\\cell\\row\\pard\\b\\par\\cf0\\b0\\fs1660\\par}"
 
 
// setRichClip (s, "")   // this doesnt work
 
setRichClip(s) // this works
 
print stringOf richClip

Re: Issue with setRichClip for RTF table export
SpaceApe - Thu Nov 26 08:15:25 EST 2009

Mathias Mamsch - Tue Nov 10 03:35:56 EST 2009

Since it worked when I manually tried to copy/paste the text to word, I experimentet with setRichClip. The problem seems to be the stylesheet parameter of setRichClip. If you use "setRichClip (rtfString )" it seems to work:

So if you need to use another font table you might want to just replace the font table in the buffer using regexp.

Regards, Mathias

Buffer s = create
 
string fontTable = "\\deff0{\\fonttbl {\\f0\fnil\fcharset0 Arial;\\f1\fnil\fcharset0 Arial;}}"
 
s = "{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1033{\\fonttbl{\\f0\\fnil\\fcharset0 Tahoma;}}{\\colortbl ;\\red0\\green0\\blue0;}\\viewkind4\\uc1\\pard\\cf1\\b\\f0\\fs20\\par\\trowd\\trgaph108\\trleft-108\\trbrdrt\\brdrs\\brdrw10 \\trbrdrl\\brdrs\\brdrw10 \\trbrdrb\\brdrs\\brdrw10 \\trbrdrr\\brdrs\\brdrw10 \\clbrdrt\\brdrw15\\brdrs\\clbrdrl\\brdrw15\\brdrs\\clbrdrb\\brdrw15\\brdrs\\clbrdrr\\brdrw15\\brdrs \\cellx2520\\clbrdrt\\brdrw15\\brdrs\\clbrdrl\\brdrw15\\brdrs\\clbrdrb\\brdrw15\\brdrs\\clbrdrr\\brdrw15\\brdrs \\cellx5130\\clbrdrt\\brdrw15\\brdrs\\clbrdrl\\brdrw15\\brdrs\\clbrdrb\\brdrw15\\brdrs\\clbrdrr\\brdrw15\\brdrs \\cellx8550\\pard\\intbl\\cell\\cell\\cell\\row\\b0\\trowd\\trgaph108\\trleft-108\\trbrdrt\\brdrs\\brdrw10 \\trbrdrl\\brdrs\\brdrw10 \\trbrdrb\\brdrs\\brdrw10 \\trbrdrr\\brdrs\\brdrw10 \\clbrdrt\\brdrw15\\brdrs\\clbrdrl\\brdrw15\\brdrs\\clbrdrb\\brdrw15\\brdrs\\clbrdrr\\brdrw15\\brdrs \\cellx2520\\clbrdrt\\brdrw15\\brdrs\\clbrdrl\\brdrw15\\brdrs\\clbrdrb\\brdrw15\\brdrs\\clbrdrr\\brdrw15\\brdrs \\cellx5130\\clbrdrt\\brdrw15\\brdrs\\clbrdrl\\brdrw15\\brdrs\\clbrdrb\\brdrw15\\brdrs\\clbrdrr\\brdrw15\\brdrs \\cellx8550\\intbl\\cell\\cell\\cell\\row\\pard\\b\\par\\cf0\\b0\\fs1660\\par}"
 
 
// setRichClip (s, "")   // this doesnt work
 
setRichClip(s) // this works
 
print stringOf richClip

Many thanks. It works!